<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initSession()
    {
        Zend_Session::start();
    }

    protected function _initLocale()
    {
        $locale = new Zend_Locale('vi_VN');
        Zend_Registry::set('Zend_Locale', $locale);
    }

    /*protected function _initFoo(){
        echo '<br>' . __METHOD__;
    }*/

    protected function _initDb()
    {

        $optionResources = $this->getOption('resources');
        $dbOption = $optionResources['db'];
        $dbOption['params']['username'] = 'root';
        $dbOption['params']['password'] = 'root';
        $dbOption['params']['dbname'] = 'onphim';

        $adapter = $dbOption['adapter'];
        $config = $dbOption['params'];

        $db = Zend_Db::factory($adapter, $config);
        $db->setFetchMode(Zend_Db::FETCH_ASSOC);
        $db->query("SET NAMES 'utf8'");
        $db->query("SET CHARACTER SET 'latin1'");

        Zend_Registry::set('connectDb', $db);

        Zend_Db_Table::setDefaultAdapter($db);

        return $db;

    }

    protected function __initDoctype(){
        $this->bootstrap('view');
        $view = $this->getResource('view');
        $view->doctype('XHTML_STRICT');
        $view->setEncoding('UTF-8');
    }

    protected function _initFrontcontroller()
    {
        $front = Zend_Controller_Front::getInstance();
        $front->addModuleDirectory(APPLICATION_PATH . '/modules');
        $front->setDefaultModule('default');
//        $front->registerPlugin(new Zendvn_Plugin_Permission());

        $error = new Zend_Controller_Plugin_ErrorHandler(array('module'=>'error',
                                                               'controller'=>'error',
                                                               'action'=>'error',
                                                                ));
        $front->registerPlugin($error);

        return $front;
    }

}

